<?php
// 记录开始运行时间
$GLOBALS['_beginTime'] = microtime(true);

//是否记录内存
define('MEMORY_LIMIT_ON',function_exists('memory_get_usage'));

if(MEMORY_LIMIT_ON) $GLOBALS['_startUseMems'] = memory_get_usage();
//返回分配给 PHP 的内存量,单位是字节（byte）

//框架版本号
const FRAME_VERSION     =   '1.0';

// URL 模式定义
const URL_COMMON        =   0;  //普通模式
const URL_PATHINFO      =   1;  //PATHINFO模式
const URL_REWRITE       =   2;  //REWRITE模式
const URL_COMPAT        =   3;  // 兼容模式

// 类文件后缀
const EXT               =   '.php'; 
// 是否调试模式
defined('APP_DEBUG')    or define('APP_DEBUG',     false);
// 存储类型 默认为File   
defined('STORAGE_TYPE') or define('STORAGE_TYPE',   'File'); 
// 应用模式 默认为普通模式  
defined('APP_MODE')     or define('APP_MODE',       'common'); 
//框架目录
defined('FRAME_PATH')   or define('FRAME_PATH',    __DIR__.'/');
//项目目录
defined('PROJECT_PATH')     or define('PROJECT_PATH',      dirname(dirname($_SERVER['SCRIPT_FILENAME'])).'/');
//应用目录
defined('APP_PATH')     or define('APP_PATH',      PROJECT_PATH);
// 应用公共目录
defined('COMMON_PATH')  or define('COMMON_PATH',   APP_PATH.'common/'); 
// 应用公共配置目录
defined('CONF_PATH')    or define('CONF_PATH',     COMMON_PATH.'conf/');
// 配置文件后缀 
defined('CONF_EXT')     or define('CONF_EXT',      '.php'); 
// 配置文件解析方法
defined('CONF_PARSE')   or define('CONF_PARSE',    '');    

// 系统运行时目录
defined('RUNTIME_PATH') or define('RUNTIME_PATH',  PROJECT_PATH.'runtime/'); 
// 应用日志目录 
defined('LOG_PATH')     or define('LOG_PATH',      RUNTIME_PATH.'logs/');




//框架类库目录
defined('LIB_PATH')     or define('LIB_PATH',      realpath(FRAME_PATH.'library').'/');
//Frame类库目录
defined('CORE_PATH')    or define('CORE_PATH',     LIB_PATH.'frame/');
// 系统应用模式目录
defined('MODE_PATH')    or define('MODE_PATH',     FRAME_PATH.'mode/'); 
// 应用模板缓存目录
defined('CACHE_PATH')   or define('CACHE_PATH',     RUNTIME_PATH.'cache/'); 

//PHP_SAPI表示PHP运行环境检测(apache环境下对应apache2handler,nginx环境下对应cgi-fcgi,命令行对应cli)
define('IS_CGI',(0 === strpos(PHP_SAPI,'cgi') || false !== strpos(PHP_SAPI,'fcgi')) ? 1 : 0 );
//PHP_OS表示当前操作系统
define('IS_WIN',strstr(PHP_OS, 'WIN') ? 1 : 0 );
define('IS_CLI',PHP_SAPI=='cli'? 1   :   0);



//如果不是命令行执行
if(!IS_CLI) {
    // 当前文件名
    if(!defined('_PHP_FILE_')) {
        if(IS_CGI) {
            //CGI/FASTCGI模式下
            $_temp  = explode('.php',$_SERVER['PHP_SELF']);
            define('_PHP_FILE_',    rtrim(str_replace($_SERVER['HTTP_HOST'],'',$_temp[0].'.php'),'/'));
        }else {
            define('_PHP_FILE_',    rtrim($_SERVER['SCRIPT_NAME'],'/'));
        }
        //_PHP_FILE_代表/index.php
    }
    if(!defined('__ROOT__')) {
        $_root  =   rtrim(dirname(_PHP_FILE_),'/');
        define('__ROOT__',  (($_root=='/' || $_root=='\\')?'':$_root));
        //__ROOT__代表''
    }
}


